\documentclass[a4paper]{article}

\usepackage{tpCaml}
\usepackage[frenchb]{babel}
\usepackage[utf8]{inputenc}
%\usepackage[T1]{fontenc}

% vous pouvez modifier ces valeurs, à condition de ne pas dépasser 25.5cm de hauteur !
\textwidth 16cm
\textheight 24cm
\headsep 0.8cm
\topmargin -1.5cm
\oddsidemargin 0cm

\begin{document}


\enteteTPcaml{3}{oct. 2012}{Un exemple de sujet}

\section{Les TP de \caml}

\subsection{Exemples}

Pour la plupart des fonctions \caml à écrire, il est utile de
donner le type :

\begin{alltt}
         {\rep val fact : int -> int = <fun>}

\end{alltt}

On peut aussi dans certains cas donner un exemple d'application.

\emph{Exemple d'application : }
\begin{alltt}
   \sh let pi = map (String.length)
        ["que";"j";"aime";"à";"faire";"apprendre";"ce";"nombre";"utile";"aux";"sages"];;
   {\rep val pi : int list = [3; 1; 4; 1; 5; 9; 2; 6; 5; 3; 5] }

\end{alltt}

Lorsqu'il y a besoin d'utiliser des fonctions de \caml (ou de les recoder), on recopie le contenu du manuel (in english!).\\

\noindent \ml{val rlineto : dx:int -> dy:int -> unit}\\
\indent Draw a line with endpoints the current point and the
current point translated of the given vector, and move the
current point to this point.


\end{document}
